package com.music.service.members.dao;

import java.util.Date;

import com.music.service.members.beans.Member;
import com.music.service.members.constants.Gender;


public interface MemberDAO {

	public abstract Member createMember(String firstName, String lastName,
			String password, Date birthDate, Gender gender, String email) throws Exception;

	public abstract boolean updateMember(Member member);

	public abstract Member getMember(Long memberId);
	
	public abstract Member getMember(String pEmailId);

	/**
	 * Delete the member. Makes use of transactions.
	 * @param memberId
	 * @return boolean
	 */
	public abstract boolean deleteMember(Long memberId);

	public abstract Member getMember(String pEmailId, boolean pAutoCreate) throws Exception;

}